There are many commercially available website building systems and other interactive application building tools that can be used to create and edit websites and other on-line applications. End users can access such websites using client software on a variety of different platforms such as regular personal computers, smart-phones, tablets and other desktop or mobile devices.
These website building systems can come in different configurations such as fully on-line website building systems which are hosted on a server or servers connected to the internet and which are accessed using internet communication protocols such as hypertext transfer protocol (HTTP). The creation, editing and deployment of these website building systems are all performed on-line working directly with the servers.
Website building systems can also be partially online where the website editing is performed locally on the user's machine and is later uploaded to a central server or servers for deployment. Once uploaded, these website building systems behave in the same way as fully on-line website building systems. Website building systems can also be off-line where both the editing and running of the application occur locally. The website may be distributed to other end-user machines through the Internet or some other off-line means.
Such website building systems may be accessed by different categories of users, including in particular designers (who create the websites) and end-users (which access the created websites, but may possibly modify them through mechanisms such as blog comments). Unless reference is made to one group in particular, reference to a user refer to both groups of users.
Website building systems have internal data architecture in order to organize data and elements within the system. This architecture may be different from the external view of the site in question as seen by the user and may also differ from the way typical hypertext markup language (HTML) pages are sent to the browser. For example, the internal data architecture can contain additional properties for each element on the page (creator, creation time, access permissions, links to templates etc.) which are essential for editing and maintaining the site within the website building system, but are not externally visible to the end-user (or even to some editing users). A typical architecture for a website building system based site may consist of pages containing components (e.g. shape components, picture components, text components, single- and multi-page containers containing mini-pages, etc.) as is illustrated in FIG. 1 to which reference is now made. As is shown, multi-page container a displays only one mini-page (p1) at a time even though it is also associated with multiple pages pn. Multi-page container b may also be associated with multiple mini-pages qn and may display some or all of them simultaneously.
Components may be content-less such as a star-shape which does not have any internal content (though it has color, size, position and some other parameters) or may have internal content, such as a text paragraph component, whose internal content includes the displayed text, as well as font, formatting and layout information. This content may, of course, vary from one instance of the text paragraph component to another.
Website building systems can also be extended using third party applications and components embedded in them. Such third party applications may be included in the website building system design environment or may be purchased (or otherwise acquired) separately through a number of distribution mechanisms, such as from an application store (AppStore) integrated into the website building system, from a separate, web-based or standalone application repository (or AppStore) operated by the website building systems (WBS) vendor or by another entity. Third party applications may also be obtained directly from the third party application vendor (through an AppStore or not)—which would provide an actual installation module, or just an activation or access code.
Third party applications may come in different formats such as widget-type third party applications which are embedded inside a web site page as a component, and page set-type third party applications which are added to the web site as an additional page or pages. Third party applications (both widget-type and page-set-type) can be either single page or multi-page applications (which have internal mini-pages represented as an internal uniform resource locator (URL) structure). Widget-type third party applications typically provide a home page, which can be considered a default “landing” mini-page.
The use of third party applications in website building system based websites is done through third party application instances. The website building system can usually support multiple uses of third party applications at different levels such as allowing a single third party application instance in the whole website or by allowing instances of multiple third party applications to be created within the website, but only allowing one instance per site or given page. The website building system can also allow multiple instances of multiple third applications parties to be created without any limitations on the amount, multiplicity or location of the third party application instances.
The website building system may support third party applications deployed on its own vendor server, on the third party application server, on an external 4th party server or on any combination thereof. A third party application may also include elements actually running on the end user machine such as a statistically-installed browser extension or dynamically run JavaScript component running inside the website building system client-side code as is illustrated in FIG. 2 to which reference is now made. A third party application may further include elements running on the website building system server. The website building system vendor's servers act as a contact point for the end users and can respond to requests, possibly connecting to the third party application's vendor's server to receive required information. The website building system may create direct connections (as required) between the client computer and the third party application vendor's servers such as when video streaming is required.
Included third party application instances can have their own internal content, similar to the way in which regular components include internal content (such as a text paragraph component). The third party application may manage this content independently of the website building system and of the website generated using the website building system as is illustrated in FIG. 3 to which reference is now made. As can be seen, main page a contains third party application instances b and c from different third party applications. The output from included third party applications may be integrated into the created web site in a number of ways—through server side processing, client-side processing, iframes or otherwise.
Created websites (and pages) may be accessed using their URL which typically provides a direct link (or deep link) to specific pages within the website. The URL of a particular website may typically be in the format of:
<http://www.WbsVendor.com/WbsUser/WbsSite> or
<http://www.WbsVendor.com/WbsUser/WbsSite/PageName>
The web site builder server may provide a shorter URL which is mapped to the URL above such as:
<http://www.MyWbsSite.com/PageName> or
<http://www.MyWbsSite.com#!PageName>
The website building system may also provide hierarchy support e.g. having page groups which include created pages. In this case the assigned URL may be (for example):
<http://www.MyWbsSite.com/GroupName/SubgroupName/PageName>.
Search engines (such as Google Inc.'s Google or Microsoft's Bing) are the most common way to access websites today. Many users do not even bother remembering the regular site URL or name, but rather perform a web search to get to the required site whenever needed. Search engines typically index multiple pages within the site—not just the top-level site entry pages, but internal site pages as well. These links to internal pages are known as deep links. Many website building systems incorporate search engine optimization in order to ensure that the website being built can be accessed by search engine web crawlers or spiders. Website building systems provide for each page an alternate version of the displayed page for use by spiders. This version includes the extracted text from the components of a page and is formatted and optimized for reading. This version may be known as the search engine friendly version of the page. The website building system can also implement search engine optimization techniques in the creation of these page variants so as to improve the ranking of the specific pages by crawling search engines. Aside from displaying the search engine friendly version of the page, the system can also generate relevant sitemaps to guide the spiders as to which URL's to request so that all site pages are indexed.